# -*- coding:utf-8 -*-
# @FileName : app\models\task_case.py
# @Time     : 2025/11/28
# @Author   : 天空之城
"""测试用例模型文件

此模块定义测试用例模型，使用SQLAlchemy进行ORM映射。
"""
from app.extensions import db


class TaskCase(db.Model):
    """测试用例模型
    
    定义测试用例表结构，包含测试指令和预期结果。
    """
    __tablename__ = 'task_cases'
    
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)  # 用例ID
    title = db.Column(db.String(200), nullable=False)  # 用例标题
    instruction = db.Column(db.Text, nullable=False)  # 用户指令
    expected_result = db.Column(db.Text, nullable=False)  # 预期断言内容
    group_id = db.Column(db.Integer, nullable=True)  # 批次ID
    created_at = db.Column(db.DateTime, default=db.func.current_timestamp())  # 创建时间
    updated_at = db.Column(db.DateTime, default=db.func.current_timestamp(), onupdate=db.func.current_timestamp())  # 更新时间
    
    def __repr__(self):
        """返回测试用例对象的字符串表示"""
        return f'<TaskCase {self.id} - {self.title}>'